home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / x / gui / amiga / twm93053.lha / twm / twm.doc < prev    next >
Encoding:
Text File  |  1993-05-31  |  72.7 KB  |  1,849 lines

  1.  
  2.  
  3.  
  4. TWM(1)                                                     TWM(1)
  5.  
  6.  
  7. NAME
  8.        twm - Tab Window Manager for the X Window System
  9.  
  10. SYNTAX
  11.        twm [-display dpy] [-s] [-f initfile] [-v]
  12.  
  13.  
  14. DESCRIPTION
  15.        Twm  is a window manager for the X Window System.  It pro-
  16.        vides titlebars, shaped windows,  several  forms  of  icon
  17.        management,  user-defined  macro  functions, click-to-type
  18.        and pointer-driven keyboard focus, and user-specified  key
  19.        and pointer button bindings.
  20.  
  21.        This program is usually started by the user's session man-
  22.        ager or startup script.  When used from xdm(1) or xinit(1)
  23.        without  a  session manager, twm is frequently executed in
  24.        the foreground as the last client.   When  run  this  way,
  25.        exiting  twm  causes  the  session  to be terminated (i.e.
  26.        logged out).
  27.  
  28.        By  default,  application  windows  are  surrounded  by  a
  29.        ``frame''  with a titlebar at the top and a special border
  30.        around the window.  The  titlebar  contains  the  window's
  31.        name, a rectangle that is lit when the window is receiving
  32.        keyboard input, and function boxes  known  as  ``titlebut-
  33.        tons'' at the left and right edges of the titlebar.
  34.  
  35.        Pressing  pointer  Button1  (usually  the left-most button
  36.        unless it has been changed with xmodmap) on a  titlebutton
  37.        will  invoke  the function associated with the button.  In
  38.        the default interface, windows are iconified  by  clicking
  39.        (pressing  and then immediately releasing) the left title-
  40.        button (which looks like a Dot).  Conversely, windows  are
  41.        deiconified by clicking in the associated icon or entry in
  42.        the icon manager (see description of  the  variable  Show-
  43.        IconManager and of the function f.showiconmgr).
  44.  
  45.        Windows  are  resized  by  pressing  the right titlebutton
  46.        (which resembles a group of nested squares), dragging  the
  47.        pointer  over  edge that is to be moved, and releasing the
  48.        pointer when the outline of  the  window  is  the  desired
  49.        size.   Similarly,  windows  are  moved by pressing in the
  50.        title or highlight region, dragging a  window  outline  to
  51.        the  new  location, and then releasing when the outline is
  52.        in the desired position.  Just clicking in  the  title  or
  53.        highlight region raises the window without moving it.
  54.  
  55.        When  new windows are created, twm will honor any size and
  56.        location  information  requested  by  the  user   (usually
  57.        through  -geometry  command line argument or resources for
  58.        the individual applications).  Otherwise,  an  outline  of
  59.        the  window's default size, its titlebar, and lines divid-
  60.        ing the window into a 3x3 grid that track the pointer  are
  61.  
  62.  
  63.  
  64. X Version 11                Release 5                           1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. TWM(1)                                                     TWM(1)
  71.  
  72.  
  73.        displayed.   Clicking  pointer  Button1  will position the
  74.        window at the current position and  give  it  the  default
  75.        size.    Pressing  pointer  Button2  (usually  the  middle
  76.        pointer button) and dragging the  outline  will  give  the
  77.        window  its  current  position  but  allow the sides to be
  78.        resized as  described  above.   Clicking  pointer  Button3
  79.        (usually  the  right  pointer button) will give the window
  80.        its current position but attempt to make it long enough to
  81.        touch the bottom the screen.
  82.  
  83. OPTIONS
  84.        Twm accepts the following command line options:
  85.  
  86.  
  87.        -display dpy
  88.                This option specifies the X server to use.
  89.  
  90.        -s      This option indicates that only the default screen
  91.                (as specified by -display or by the DISPLAY  envi-
  92.                ronment  variable) should be managed.  By default,
  93.                twm will attempt to manage all screens on the dis-
  94.                play.
  95.  
  96.        -f filename
  97.                This option specifies the name of the startup file
  98.                to use.  By default, twm will look in  the  user's
  99.                home  directory  for files named .twmrc.num (where
  100.                num is a screen number) or .twmrc.
  101.  
  102.        -v      This option indicates that twm should print  error
  103.                messages  whenever  an unexpected X Error event is
  104.                received.   This  can  be  useful  when  debugging
  105.                applications  but  can  be  distracting in regular
  106.                use.
  107.  
  108. CUSTOMIZATION
  109.        Much of twm's appearance and behavior can be controlled by
  110.        providing a startup file in one of the following locations
  111.        (searched in order for each screen being managed when  twm
  112.        begins):
  113.  
  114.        $HOME/.twmrc.screennumber
  115.                The  screennumber is a small positive number (e.g.
  116.                0, 1, etc.)  representing the screen number  (e.g.
  117.                the  last  number in the DISPLAY environment vari-
  118.                able host:displaynum.screennum) that would be used
  119.                to  contact  that  screen of the display.  This is
  120.                intended for displays  with  multiple  screens  of
  121.                differing visual types.
  122.  
  123.        $HOME/.twmrc
  124.                This  is  the  usual name for an individual user's
  125.                startup file.
  126.  
  127.  
  128.  
  129.  
  130. X Version 11                Release 5                           2
  131.  
  132.  
  133.  
  134.  
  135.  
  136. TWM(1)                                                     TWM(1)
  137.  
  138.  
  139.        /usr/lib/X11/twm/system.twmrc
  140.                If neither of the preceding files are  found,  twm
  141.                will  look  in  this file for a default configura-
  142.                tion.  This is often tailored by the site adminis-
  143.                trator  to  provide  convenient  menus or familiar
  144.                bindings for novice users.
  145.  
  146.        If no startup files are found, twm will use  the  built-in
  147.        defaults  described  above.  The only resource used by twm
  148.        is bitmapFilePath for a colon-separated list  of  directo-
  149.        ries  to  search  when  looking for bitmap files (for more
  150.        information, see the Athena Widgets manual and xrdb(1)).
  151.  
  152.        Twm startup files are logically broken up into three types
  153.        of specifications:  Variables, Bindings, Menus.  The Vari-
  154.        ables section must come first and is used to describe  the
  155.        fonts,  colors,  cursors,  border  widths, icon and window
  156.        placement, highlighting, autoraising,  layout  of  titles,
  157.        warping,  use  of  the icon manager.  The Bindings section
  158.        usually comes second and is used to specify the  functions
  159.        that  should  be  to  be invoked when keyboard and pointer
  160.        buttons are pressed in windows, icons, titles, and frames.
  161.        The Menus section gives any user-defined menus (containing
  162.        functions to be invoked or commands to be executed).
  163.  
  164.        Variable names and keywords are case-insensitive.  Strings
  165.        must  be  surrounded  by  double  quote  characters  (e.g.
  166.        "blue") and are case-sensitive.  A pound sign (#)  outside
  167.        of  a string causes the remainder of the line in which the
  168.        character appears to be treated as a comment.
  169.  
  170. VARIABLES
  171.        Many of the aspects of twm's user interface are controlled
  172.        by  variables  that may be set in the user's startup file.
  173.        Some of the options are enabled or disabled simply by  the
  174.        presence  of  a particular keyword.  Other options require
  175.        keywords, numbers, strings, or lists of all of these.
  176.  
  177.        Lists are surrounded by braces and are  usually  separated
  178.        by whitespace or a newline.  For example:
  179.  
  180.             AutoRaise { "emacs" "XTerm" "Xmh" }
  181.  
  182.        or
  183.  
  184.             AutoRaise
  185.             {
  186.                  "emacs"
  187.                  "XTerm"
  188.                  "Xmh"
  189.             }
  190.  
  191.        When  a variable containing a list of strings representing
  192.        windows is searched (e.g. to determine whether or  not  to
  193.  
  194.  
  195.  
  196. X Version 11                Release 5                           3
  197.  
  198.  
  199.  
  200.  
  201.  
  202. TWM(1)                                                     TWM(1)
  203.  
  204.  
  205.        enable  autoraise  as  shown  above),  a string must be an
  206.        exact, case-sensitive match  to  the  window's  name  name
  207.        (given  by  the WM_NAME window property), resource name or
  208.        class name (both given by the WM_CLASS  window  property).
  209.        The  preceding  example  would enable autoraise on windows
  210.        named ``emacs'' as well as any xterm (since  they  are  of
  211.        class  ``XTerm'')  or  xmh  windows  (which  are  of class
  212.        ``Xmh'').
  213.  
  214.        String arguments that are interpreted  as  filenames  (see
  215.        the   Pixmaps,  Cursors,  and  IconDirectory  below)  will
  216.        prepend the user's directory (specified by the HOME  envi-
  217.        ronment  variable)  if the first character is a tilde (~).
  218.        If, instead, the first character is a colon (:), the  name
  219.        is  assumed  to  refer to one of the internal bitmaps that
  220.        are used to create the default titlebars symbols:   :xlogo
  221.        or :iconify (both refer to the X used for the iconify but-
  222.        ton), :resize (the nested squares used by the resize  but-
  223.        ton),  and  :question  (the  question  mark  used for non-
  224.        existent bitmap files).
  225.  
  226.        The following variables may be specified at the top  of  a
  227.        twm startup file.  Lists of Window name prefix strings are
  228.        indicated by win-list.  Optional arguments  are  shown  in
  229.        square brackets:
  230.  
  231.        AutoRaise { win-list }
  232.                This  variable  specifies  a  list of windows that
  233.                should  automatically  be  raised   whenever   the
  234.                pointer  enters  the  window.   This action can be
  235.                interactively enabled or  disabled  on  individual
  236.                windows using the function f.autoraise.
  237.  
  238.        AutoRelativeResize
  239.                This variable indicates that dragging out a window
  240.                size (either when initially sizing the window with
  241.                pointer  Button2  or  when resizing it) should not
  242.                wait until the  pointer  has  crossed  the  window
  243.                edges.   Instead, moving the pointer automatically
  244.                causes the nearest edge or edges to  move  by  the
  245.                same  amount.  This allows the resizing of windows
  246.                that extend off the edge of the  screen.   If  the
  247.                pointer  is in the center of the window, or if the
  248.                resize is begun by  pressing  a  titlebutton,  twm
  249.                will  still wait for the pointer to cross a window
  250.                edge (to prevent accidents).  This option is  par-
  251.                ticularly  useful  for  people who like the press-
  252.                drag-release method of sweeping out window  sizes.
  253.  
  254.        BorderColor string [{ wincolorlist }]
  255.                This  variable  specifies the default color of the
  256.                border to be placed around all non-iconified  win-
  257.                dows,  and  may  only  be  given within a Color or
  258.                Monochrome  list.    The   optional   wincolorlist
  259.  
  260.  
  261.  
  262. X Version 11                Release 5                           4
  263.  
  264.  
  265.  
  266.  
  267.  
  268. TWM(1)                                                     TWM(1)
  269.  
  270.  
  271.                specifies  a  list  of window and color name pairs
  272.                for specifying particular border colors  for  dif-
  273.                ferent types of windows.  For example:
  274.  
  275.                     BorderColor "gray50"
  276.                     {
  277.                          "XTerm"   "red"
  278.                          "xmh"     "green"
  279.                     }
  280.  
  281.                The default is "black".
  282.  
  283.        BorderTileBackground string [{ wincolorlist }]
  284.                This  variable  specifies  the  default background
  285.                color in the gray pattern  used  in  unhighlighted
  286.                borders (only if NoHighlight hasn't been set), and
  287.                may only be given within  a  Color  or  Monochrome
  288.                list.  The optional wincolorlist allows per-window
  289.                colors to be specified.  The default  is  "white".
  290.  
  291.        BorderTileForeground string [{ wincolorlist }]
  292.                This  variable  specifies  the  default foreground
  293.                color in the gray pattern  used  in  unhighlighted
  294.                borders (only if NoHighlight hasn't been set), and
  295.                may only be given within  a  Color  or  Monochrome
  296.                list.  The optional wincolorlist allows per-window
  297.                colors to be specified.  The default is "black".
  298.  
  299.        BorderWidth pixels
  300.                This variable specifies the width in pixels of the
  301.                border  surrounding  all  client  window frames if
  302.                ClientBorderWidth has not  been  specified.   This
  303.                value  is also used to set the border size of win-
  304.                dows created by twm (such as  the  icon  manager).
  305.                The default is 2.
  306.  
  307.        ButtonIndent pixels
  308.                This variable specifies the amount by which title-
  309.                buttons should be indented on all sides.  Positive
  310.                values  cause  the  buttons to be smaller than the
  311.                window text and highlight area so that they  stand
  312.                out.   Setting this and the TitleButtonBorderWidth
  313.                variables to 0 makes titlebuttons be as  tall  and
  314.                wide as possible.  The default is 1.
  315.  
  316.        ClientBorderWidth
  317.                This  variable  indicates  that  border width of a
  318.                window's frame should be set to the initial border
  319.                width  of  the window, rather than to the value of
  320.                BorderWidth.
  321.  
  322.        Color { colors-list }
  323.                This variable specifies a list  of  color  assign-
  324.                ments to be made if the default display is capable
  325.  
  326.  
  327.  
  328. X Version 11                Release 5                           5
  329.  
  330.  
  331.  
  332.  
  333.  
  334. TWM(1)                                                     TWM(1)
  335.  
  336.  
  337.                of displaying more than simple  black  and  white.
  338.                The  colors-list is made up of the following color
  339.                variables  and  their  values:  DefaultBackground,
  340.                DefaultForeground, MenuBackground, MenuForeground,
  341.                MenuTitleBackground,   MenuTitleForeground,    and
  342.                MenuShadowColor.   The  following  color variables
  343.                may also be given a list of window and color  name
  344.                pairs  to  allow per-window colors to be specified
  345.                (see BorderColor for details): BorderColor,  Icon-
  346.                ManagerHighlight, BorderTitleBackground, BorderTi-
  347.                tleForeground,  TitleBackground,  TitleForeground,
  348.                IconBackground,  IconForeground,  IconBorderColor,
  349.                IconManagerBackground, and  IconManagerForeground.
  350.                For example:
  351.  
  352.                     Color
  353.                     {
  354.                          MenuBackground      "gray50"
  355.                          MenuForeground      "blue"
  356.                          BorderColor              "red" { "XTerm" "yellow" }
  357.                          TitleForeground          "yellow"
  358.                          TitleBackground          "blue"
  359.                     }
  360.  
  361.                All of these color variables may also be specified
  362.                for the Monochrome  variable,  allowing  the  same
  363.                initialization  file  to be used on both color and
  364.                monochrome displays.
  365.  
  366.        ConstrainedMoveTime milliseconds
  367.                This variable specifies the length of time between
  368.                button  clicks  needed to begin a constrained move
  369.                operation.  Double clicking within this amount  of
  370.                time  when  invoking  f.move will cause the window
  371.                only be moved in a horizontal or  vertical  direc-
  372.                tion.   Setting  this value to 0 will disable con-
  373.                strained moves.  The default is 400  milliseconds.
  374.  
  375.        Cursors { cursor-list }
  376.                This variable specifies the glyphs that twm should
  377.                use for various pointer cursors.  Each cursor  may
  378.                be defined either from the cursor font or from two
  379.                bitmap files.  Shapes from the cursor font may  be
  380.                specified directly as:
  381.  
  382.                          cursorname     "string"
  383.  
  384.                where cursorname is one of the cursor names listed
  385.                below, and string is the name of a glyph as  found
  386.                in the file /usr/include/X11/cursorfont.h (without
  387.                the ``XC_'' prefix).   If  the  cursor  is  to  be
  388.                defined from bitmap files, the following syntax is
  389.  
  390.  
  391.  
  392.  
  393.  
  394. X Version 11                Release 5                           6
  395.  
  396.  
  397.  
  398.  
  399.  
  400. TWM(1)                                                     TWM(1)
  401.  
  402.  
  403.                used instead:
  404.  
  405.                          cursorname     "image"   "mask"
  406.  
  407.                The image and mask strings specify  the  names  of
  408.                files  containing  the  glyph  image  and  mask in
  409.                bitmap(1) form.  The bitmap files are  located  in
  410.                the same manner as icon bitmap files.  The follow-
  411.                ing example shows the default cursor definitions:
  412.  
  413.                     Cursors
  414.                     {
  415.                          Frame          "top_left_arrow"
  416.                          Title          "top_left_arrow"
  417.                          Icon      "top_left_arrow"
  418.                          IconMgr   "top_left_arrow"
  419.                          Move      "fleur"
  420.                          Resize         "fleur"
  421.                          Menu      "sb_left_arrow"
  422.                          Button         "hand2"
  423.                          Wait      "watch"
  424.                          Select         "dot"
  425.                          Destroy   "pirate"
  426.                     }
  427.  
  428.  
  429.        DecorateTransients
  430.                This variable  indicates  that  transient  windows
  431.                (those  containing  a  WM_TRANSIENT_FOR  property)
  432.                should have titlebars.  By default, transients are
  433.                not reparented.
  434.  
  435.        DefaultBackground string
  436.                This variable specifies the background color to be
  437.                used for  sizing  and  information  windows.   The
  438.                default is "white".
  439.  
  440.        DefaultForeground string
  441.                This variable specifies the foreground color to be
  442.                used for  sizing  and  information  windows.   The
  443.                default is "black".
  444.  
  445.        DontIconifyByUnmapping { win-list }
  446.                This  variable  specifies  a  list of windows that
  447.                should not be iconified by  simply  unmapping  the
  448.                window (as would be the case if IconifyByUnmapping
  449.                had been set).  This is frequently used  to  force
  450.                some  windows  to  be treated as icons while other
  451.                windows are handled by the icon manager.
  452.  
  453.        DontMoveOff
  454.                This variable indicates that windows should not be
  455.                allowed  to  be  moved  off the screen.  It can be
  456.                overridden by the f.forcemove function.
  457.  
  458.  
  459.  
  460. X Version 11                Release 5                           7
  461.  
  462.  
  463.  
  464.  
  465.  
  466. TWM(1)                                                     TWM(1)
  467.  
  468.  
  469.        DontSqueezeTitle [{ win-list }]
  470.                This variable indicates that titlebars should  not
  471.                be  squeezed  to  their  minimum size as described
  472.                under SqueezeTitle below.  If the optional  window
  473.                list  is supplied, only those windows will be pre-
  474.                vented from being squeezed.
  475.  
  476.        ForceIcons
  477.                This variable indicates that icon  pixmaps  speci-
  478.                fied  in  the  Icons  variable should override any
  479.                client-supplied pixmaps.
  480.  
  481.        FramePadding pixels
  482.                This variable specifies the distance  between  the
  483.                titlebar decorations (the button and text) and the
  484.                window frame.  The default is 2 pixels.
  485.  
  486.        IconBackground string [{ win-list }]
  487.                This variable specifies the  background  color  of
  488.                icons, and may only be specified inside of a Color
  489.                or Monochrome list.  The optional  win-list  is  a
  490.                list of window names and colors so that per-window
  491.                colors may  be  specified.   See  the  BorderColor
  492.                variable  for  a  complete description of the win-
  493.                list.  The default is "white".
  494.  
  495.        IconBorderColor string [{ win-list }]
  496.                This variable specifies the color  of  the  border
  497.                used  for  icon windows, and may only be specified
  498.                inside  of  a  Color  or  Monochrome  list.    The
  499.                optional  win-list  is  a list of window names and
  500.                colors so that per-window colors may be specified.
  501.                See   the  BorderColor  variable  for  a  complete
  502.                description  of  the  win-list.   The  default  is
  503.                "black".
  504.  
  505.        IconBorderWidth pixels
  506.                This variable specifies the width in pixels of the
  507.                border surrounding icon windows.  The  default  is
  508.                2.
  509.  
  510.        IconDirectory string
  511.                This  variable specifies the directory that should
  512.                be searched if if a bitmap file cannot be found in
  513.                any  of  the  directories  in  the  bitmapFilePath
  514.                resource.
  515.  
  516.        IconFont string
  517.                This variable specifies the font  to  be  used  to
  518.                display  icon  names within icons.  The default is
  519.                "variable".
  520.  
  521.        IconForeground string [{ win-list }]
  522.                This variable specifies the foreground color to be
  523.  
  524.  
  525.  
  526. X Version 11                Release 5                           8
  527.  
  528.  
  529.  
  530.  
  531.  
  532. TWM(1)                                                     TWM(1)
  533.  
  534.  
  535.                used when displaying icons, and may only be speci-
  536.                fied inside of a Color or  Monochrome  list.   The
  537.                optional  win-list  is  a list of window names and
  538.                colors so that per-window colors may be specified.
  539.                See   the  BorderColor  variable  for  a  complete
  540.                description  of  the  win-list.   The  default  is
  541.                "black".
  542.  
  543.        IconifyByUnmapping [{ win-list }]
  544.                This  variable  indicates  that  windows should be
  545.                iconified by being unmapped without trying to  map
  546.                any  icons.   This  assumes  that the user is will
  547.                remap the window through  the  icon  manager,  the
  548.                f.warpto function, or the TwmWindows menu.  If the
  549.                optional win-list is provided, only those  windows
  550.                will  be  iconified  by simply unmapping.  Windows
  551.                that have both this  and  the  IconManagerDontShow
  552.                options set may not be accessible if no binding to
  553.                the TwmWindows menu is set in the  user's  startup
  554.                file.
  555.  
  556.        IconManagerBackground string [{ win-list }]
  557.                This  variable  specifies  the background color to
  558.                use for icon manager  entries,  and  may  only  be
  559.                specified  inside  of  a Color or Monochrome list.
  560.                The optional win-list is a list  of  window  names
  561.                and colors so that per-window colors may be speci-
  562.                fied.  See the BorderColor variable for a complete
  563.                description  of  the  win-list.   The  default  is
  564.                "white".
  565.  
  566.        IconManagerDontShow [{ win-list }]
  567.                This variable  indicates  that  the  icon  manager
  568.                should  not  display any windows.  If the optional
  569.                win-list is given, only those windows will not  be
  570.                displayed.   This variable is used to prevent win-
  571.                dows that are rarely iconified (such as xclock  or
  572.                xload) from taking up space in the icon manager.
  573.  
  574.        IconManagerFont string
  575.                This  variable  specifies the font to be used when
  576.                displaying icon manager entries.  The  default  is
  577.                "variable".
  578.  
  579.        IconManagerForeground string [{ win-list }]
  580.                This variable specifies the foreground color to be
  581.                used when displaying icon manager entries, and may
  582.                only  be specified inside of a Color or Monochrome
  583.                list.  The optional win-list is a list  of  window
  584.                names  and colors so that per-window colors may be
  585.                specified.  See the  BorderColor  variable  for  a
  586.                complete description of the win-list.  The default
  587.                is "black".
  588.  
  589.  
  590.  
  591.  
  592. X Version 11                Release 5                           9
  593.  
  594.  
  595.  
  596.  
  597.  
  598. TWM(1)                                                     TWM(1)
  599.  
  600.  
  601.        IconManagerGeometry string [ columns ]
  602.                This variable specifies the geometry of  the  icon
  603.                manager  window.   The string argument is standard
  604.                geometry specification that indicates the  initial
  605.                full  size  of the icon manager.  The icon manager
  606.                window is then  broken  into  columns  pieces  and
  607.                scaled  according  to the number of entries in the
  608.                icon manager.  Extra entries are wrapped  to  form
  609.                additional rows.  The default number of columns is
  610.                1.
  611.  
  612.        IconManagerHighlight string [{ win-list }]
  613.                This variable specifies the  border  color  to  be
  614.                used when highlighting the icon manager entry that
  615.                currently has the focus, and can only be specified
  616.                inside   of  a  Color  or  Monochrome  list.   The
  617.                optional win-list is a list of  window  names  and
  618.                colors so that per-window colors may be specified.
  619.                See  the  BorderColor  variable  for  a   complete
  620.                description  of  the  win-list.   The  default  is
  621.                "black".
  622.  
  623.        IconManagers { iconmgr-list }
  624.                This variable specifies a list of icon managers to
  625.                create.   Each  item  in  the iconmgr-list has the
  626.                following format:
  627.  
  628.                          "winname" ["iconname"]   "geometry" columns
  629.  
  630.                where winname is the  name  of  the  windows  that
  631.                should  be put into this icon manager, iconname is
  632.                the name of that icon manager window's icon, geom-
  633.                etry  is  a  standard  geometry specification, and
  634.                columns is the number of columns in this icon man-
  635.                ager  as  described  in  IconManagerGeometry.  For
  636.                example:
  637.  
  638.                     IconManagers
  639.                     {
  640.                          "XTerm"   "=300x5+800+5" 5
  641.                          "myhost"  "=400x5+100+5" 2
  642.                     }
  643.  
  644.                Clients whose name or class is ``XTerm'' will have
  645.                an  entry  created  in the ``XTerm'' icon manager.
  646.                Clients whose name was  ``myhost''  would  be  put
  647.                into the ``myhost'' icon manager.
  648.  
  649.        IconManagerShow { win-list }
  650.                This  variable  specifies  a  list of windows that
  651.                should appear in the icon manager.  When  used  in
  652.                conjunction with the IconManagerDontShow variable,
  653.                only the windows in this list will be shown in the
  654.                icon manager.
  655.  
  656.  
  657.  
  658. X Version 11                Release 5                          10
  659.  
  660.  
  661.  
  662.  
  663.  
  664. TWM(1)                                                     TWM(1)
  665.  
  666.  
  667.        IconRegion geomstring vgrav hgrav gridwidth gridheight
  668.                This variable specifies an area on the root window
  669.                in which icons are  placed  if  no  specific  icon
  670.                location  is  provided  by  the client.  The geom-
  671.                string is a quoted string  containing  a  standard
  672.                geometry  specification.  If more than one IconRe-
  673.                gion lines are given, icons will be put  into  the
  674.                succeeding  icon  regions  when the first is full.
  675.                The vgrav argument should be either North or South
  676.                and  control  and is used to control whether icons
  677.                are first filled in from the top or bottom of  the
  678.                icon region.  Similarly, the hgrav argument should
  679.                be either East or West  and  is  used  to  control
  680.                whether  icons  should be filled in from left from
  681.                the right.  Icons are laid out within  the  region
  682.                in  a  grid  with  cells gridwidth pixels wide and
  683.                gridheight pixels high.
  684.  
  685.        Icons { win-list }
  686.                This variable specifies a list of window names and
  687.                the  bitmap filenames that should be used as their
  688.                icons.  For example:
  689.  
  690.                     Icons
  691.                     {
  692.                          "XTerm"   "xterm.icon"
  693.                          "xfd"          "xfd_icon"
  694.                     }
  695.  
  696.                Windows that match  ``XTerm''  and  would  not  be
  697.                iconified  by  unmapping, and would try to use the
  698.                icon bitmap in the file ``xterm.icon''.  If Force-
  699.                Icons  is specified, this bitmap will be used even
  700.                if the client has requested its own icon pixmap.
  701.  
  702.        InterpolateMenuColors
  703.                This variable indicates  that  menu  entry  colors
  704.                should  be  interpolated  between  entry specified
  705.                colors.  In the example below:
  706.  
  707.                     Menu "mymenu"
  708.                     {
  709.                          "Title"        ("black":"red")          f.title
  710.                          "entry1"                 f.nop
  711.                          "entry2"                 f.nop
  712.                          "entry3"  ("white":"green")   f.nop
  713.                          "entry4"                 f.nop
  714.                          "entry5"  ("red":"white")          f.nop
  715.                     }
  716.  
  717.                the   foreground   colors   for   ``entry1''   and
  718.                ``entry2''  will be interpolated between black and
  719.                white, and the background colors between  red  and
  720.                green.   Similarly,  the foreground for ``entry4''
  721.  
  722.  
  723.  
  724. X Version 11                Release 5                          11
  725.  
  726.  
  727.  
  728.  
  729.  
  730. TWM(1)                                                     TWM(1)
  731.  
  732.  
  733.                will be half-way between white and  red,  and  the
  734.                background  will  be  half-way  between  green and
  735.                white.
  736.  
  737.        MakeTitle { win-list }
  738.                This variable specifies a list of windows on which
  739.                a titlebar should be placed and is used to request
  740.                titles on specific windows when NoTitle  has  been
  741.                set.
  742.  
  743.        MaxWindowSize string
  744.                This  variable  specifies  a geometry in which the
  745.                width and height give the maximum size for a given
  746.                window.   This  is typically used to restrict win-
  747.                dows to the size of the screen.   The  default  is
  748.                "30000x30000".
  749.  
  750.        MenuBackground string
  751.                This  variable specifies the background color used
  752.                for menus, and can only be specified inside  of  a
  753.                Color or Monochrome list.  The default is "white".
  754.  
  755.        MenuFont string
  756.                This variable specifies the font to use when  dis-
  757.                playing menus.  The default is "variable".
  758.  
  759.        MenuForeground string
  760.                This  variable specifies the foreground color used
  761.                for menus, and can only be specified inside  of  a
  762.                Color or Monochrome list.  The default is "black".
  763.  
  764.        MenuShadowColor string
  765.                This variable specifies the color  of  the  shadow
  766.                behind  pull-down  menus and can only be specified
  767.                inside of a Color or Monochrome list.  The default
  768.                is "black".
  769.  
  770.        MenuTitleBackground string
  771.                This  variable  specifies the background color for
  772.                f.title entries in menus, and can only  be  speci-
  773.                fied  inside  of  a Color or Monochrome list.  The
  774.                default is "white".
  775.  
  776.        MenuTitleForeground string
  777.                This variable specifies the foreground  color  for
  778.                f.title entries in menus and can only be specified
  779.                inside of a Color or Monochrome list.  The default
  780.                is "black".
  781.  
  782.        Monochrome { colors }
  783.                This  variable  specifies  a list of color assign-
  784.                ments that should be made  if  the  screen  has  a
  785.                depth of 1.  See the description of Colors.
  786.  
  787.  
  788.  
  789.  
  790. X Version 11                Release 5                          12
  791.  
  792.  
  793.  
  794.  
  795.  
  796. TWM(1)                                                     TWM(1)
  797.  
  798.  
  799.        MoveDelta pixels
  800.                This  variable  specifies the number of pixels the
  801.                pointer  must  move  before  the  f.move  function
  802.                starts  working.   Also  see the f.deltastop func-
  803.                tion.  The default is zero pixels.
  804.  
  805.        NoBackingStore
  806.                This variable indicates that  twm's  menus  should
  807.                not  request  backing store to minimize repainting
  808.                of menus.  This is  typically  used  with  servers
  809.                that can repaint faster than they can handle back-
  810.                ing store.
  811.  
  812.        NoCaseSensitive
  813.                This  variable  indicates  that  case  should   be
  814.                ignored  when  sorting  icon names in an icon man-
  815.                ager.  This option is typically used with applica-
  816.                tions  that  capitalize  the first letter of their
  817.                icon name.
  818.  
  819.        NoDefaults
  820.                This variable indicates that twm should not supply
  821.                the   default  titlebuttons  and  bindings.   This
  822.                option should only be used  if  the  startup  file
  823.                contains a completely new set of bindings and def-
  824.                initions.
  825.  
  826.        NoGrabServer
  827.                This variable indicates that twm should  not  grab
  828.                the server when popping up menus and moving opaque
  829.                windows.
  830.  
  831.        NoHighlight [{ win-list }]
  832.                This variable indicates that borders should not be
  833.                highlighted  to track the location of the pointer.
  834.                If the optional win-list  is  given,  highlighting
  835.                will only be disabled for those windows.  When the
  836.                border is highlighted, it will  be  drawn  in  the
  837.                current BorderColor.  When the border is not high-
  838.                lighted, it will be stippled with an gray  pattern
  839.                using the current BorderTileForeground and Border-
  840.                TileBackground colors.
  841.  
  842.        NoIconManagers
  843.                This  variable  indicates  that  no  icon  manager
  844.                should be created.
  845.  
  846.        NoMenuShadows
  847.                This variable indicates that menus should not have
  848.                drop shadows drawn behind them.  This is typically
  849.                used  with  slower servers since it speeds up menu
  850.                drawing at the expense of making the menu slightly
  851.                harder to read.
  852.  
  853.  
  854.  
  855.  
  856. X Version 11                Release 5                          13
  857.  
  858.  
  859.  
  860.  
  861.  
  862. TWM(1)                                                     TWM(1)
  863.  
  864.  
  865.        NoRaiseOnDeiconify
  866.                This  variable  indicates  that  windows  that are
  867.                deiconified should not be raised.
  868.  
  869.        NoRaiseOnMove
  870.                This variable indicates that windows should not be
  871.                raised  when  moved.   This  is  typically used to
  872.                allow windows to slide underneath each other.
  873.  
  874.        NoRaiseOnResize
  875.                This variable indicates that windows should not be
  876.                raised  when  resized.   This is typically used to
  877.                allow windows to be resized underneath each other.
  878.  
  879.        NoRaiseOnWarp
  880.                This variable indicates that windows should not be
  881.                raised when the pointer is warped into  them  with
  882.                the  f.warpto  function.   If  this option is set,
  883.                warping to an occluded window may  result  in  the
  884.                pointer  ending up in the occluding window instead
  885.                the desired window (which causes unexpected behav-
  886.                ior with f.warpring).
  887.  
  888.        NoSaveUnders
  889.                This  variable  indicates  that  menus  should not
  890.                request save-unders to minimize window  repainting
  891.                following  menu  selection.   It is typically used
  892.                with displays that can repaint  faster  than  they
  893.                can handle save-unders.
  894.  
  895.        NoStackMode [{ win-list }]
  896.                This   variable   indicates   that  client  window
  897.                requests  to  change  stacking  order  should   be
  898.                ignored.   If the optional win-list is given, only
  899.                requests on those windows will be  ignored.   This
  900.                is  typically  used  to  prevent applications from
  901.                relentlessly popping themselves to  the  front  of
  902.                the window stack.
  903.  
  904.        NoTitle [{ win-list }]
  905.                This  variable  indicates  that windows should not
  906.                have  titlebars.   If  the  optional  win-list  is
  907.                given, only those windows will not have titlebars.
  908.                MakeTitle may be used with this  option  to  force
  909.                titlebars to be put on specific windows.
  910.  
  911.        NoTitleFocus
  912.                This  variable  indicates  that twm should not set
  913.                keyboard input focus  to  each  window  as  it  is
  914.                entered.   Normally,  twm  sets  the focus so that
  915.                focus and key events from the  titlebar  and  icon
  916.                managers are delivered to the application.  If the
  917.                pointer is  moved  quickly  and  twm  is  slow  to
  918.                respond,  input  can be directed to the old window
  919.  
  920.  
  921.  
  922. X Version 11                Release 5                          14
  923.  
  924.  
  925.  
  926.  
  927.  
  928. TWM(1)                                                     TWM(1)
  929.  
  930.  
  931.                instead of the new.  This option is typically used
  932.                to  prevent  this ``input lag'' and to work around
  933.                bugs in older applications that have problems with
  934.                focus events.
  935.  
  936.        NoTitleHighlight [{ win-list }]
  937.                This variable indicates that the highlight area of
  938.                the titlebar, which is used to indicate the window
  939.                that  currently has the input focus, should not be
  940.                displayed.  If the  optional  win-list  is  given,
  941.                only  those windows will not have highlight areas.
  942.                This and the SqueezeTitle options can  be  set  to
  943.                substantially  reduce  the  amount of screen space
  944.                required by titlebars.
  945.  
  946.        OpaqueMove
  947.                This variable indicates that the  f.move  function
  948.                should actually move the window instead of just an
  949.                outline so that the user can immediately see  what
  950.                the  window  will  look  like in the new position.
  951.                This option is typically  used  on  fast  displays
  952.                (particularly if NoGrabServer is set).
  953.  
  954.        Pixmaps { pixmaps }
  955.                This  variable  specifies  a  list of pixmaps that
  956.                define the appearance  of  various  images.   Each
  957.                entry  is  a keyword indicating the pixmap to set,
  958.                followed by a string giving the name of the bitmap
  959.                file.  The following pixmaps may be specified:
  960.  
  961.                     Pixmaps
  962.                     {
  963.                          TitleHighlight "gray1"
  964.                     }
  965.  
  966.                The  default  for TitleHighlight is to use an even
  967.                stipple pattern.
  968.  
  969.        RandomPlacement
  970.                This variable indicates that windows with no spec-
  971.                ified  geometry  should  should  be  placed  in  a
  972.                pseudo-random location instead of having the  user
  973.                drag out an outline.
  974.  
  975.        ResizeFont string
  976.                This variable specifies the font to be used for in
  977.                the dimensions window when resizing windows.   The
  978.                default is "fixed".
  979.  
  980.        RestartPreviousState
  981.                This variable indicates that twm should attempt to
  982.                use the WM_STATE property  on  client  windows  to
  983.                tell  which  windows should be iconified and which
  984.                should be left visible.  This is typically used to
  985.  
  986.  
  987.  
  988. X Version 11                Release 5                          15
  989.  
  990.  
  991.  
  992.  
  993.  
  994. TWM(1)                                                     TWM(1)
  995.  
  996.  
  997.                try to regenerate the state that the screen was in
  998.                before the previous window manager was shutdown.
  999.  
  1000.        SaveColor { colors-list }
  1001.                This variable indicates a list  of  color  assign-
  1002.                ments  to  be  stored  as pixel values in the root
  1003.                window property _MIT_PRIORITY_COLORS.  Clients may
  1004.                elect  to  preserve  these  values when installing
  1005.                their own colormap.  Note that use of this  mecha-
  1006.                nism  is  a  way  an  for application to avoid the
  1007.                "technicolor"  problem,  whereby   useful   screen
  1008.                objects  such as window borders and titlebars dis-
  1009.                appear when a programs custom colors are installed
  1010.                by the window manager.  For example:
  1011.  
  1012.                     SaveColor
  1013.                     {
  1014.                             BorderColor
  1015.                             TitleBackground
  1016.                             TitleForeground
  1017.                             "red"
  1018.                             "green"
  1019.                             "blue"
  1020.                     }
  1021.  
  1022.                This would place on the root window 3 pixel values
  1023.                for borders and titlebars, as well  as  the  three
  1024.                color  strings,  all  taken  from the default col-
  1025.                ormap.
  1026.  
  1027.        ShowIconManager
  1028.                This variable indicates that the icon manager win-
  1029.                dow  should  be displayed when twm is started.  It
  1030.                can always be brought up using  the  f.showiconmgr
  1031.                function.
  1032.  
  1033.        SortIconManager
  1034.                This  variable  indicates that entries in the icon
  1035.                manager should  be  sorted  alphabetically  rather
  1036.                than by simply appending new windows to the end.
  1037.  
  1038.        SqueezeTitle [{ squeeze-list }]
  1039.                This variable indicates that twm should attempt to
  1040.                use the SHAPE extension to make  titlebars  occupy
  1041.                only  as  much  screen  space as they need, rather
  1042.                than extending all the way across the top  of  the
  1043.                window.   The optional squeeze-list may be used to
  1044.                control the  location  of  the  squeezed  titlebar
  1045.                along  the top of the window.  It contains entries
  1046.                of the form:
  1047.  
  1048.                          "name"         justification  num  denom
  1049.  
  1050.                where name is  a  window  name,  justification  is
  1051.  
  1052.  
  1053.  
  1054. X Version 11                Release 5                          16
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. TWM(1)                                                     TWM(1)
  1061.  
  1062.  
  1063.                either  left,  center, or right, and num and denom
  1064.                are numbers specifying a ratio giving the relative
  1065.                position  about  which  the titlebar is justified.
  1066.                The ratio is measured from left to  right  if  the
  1067.                numerator  is positive, and right to left if nega-
  1068.                tive.  A  denominator  of  0  indicates  that  the
  1069.                numerator  should be measured in pixels.  For con-
  1070.                venience, the ratio 0/0 is the  same  as  1/2  for
  1071.                center and -1/1 for right.  For example:
  1072.  
  1073.                     SqueezeTitle
  1074.                     {
  1075.                          "XTerm"   left      0    0
  1076.                          "xterm1"  left      1    3
  1077.                          "xterm2"  left      2    3
  1078.                          "oclock"  center         0    0
  1079.                          "emacs"   right          0    0
  1080.                     }
  1081.  
  1082.                The  DontSqueezeTitle list can be used to turn off
  1083.                squeezing on certain titles.
  1084.  
  1085.        StartIconified [{ win-list }]
  1086.                This variable indicates that client windows should
  1087.                initially   be  left  as  icons  until  explicitly
  1088.                deiconified by the user.  If the optional win-list
  1089.                is  given,  only  those  windows  will  be started
  1090.                iconic.  This is useful for programs that  do  not
  1091.                support   an   -iconic   command  line  option  or
  1092.                resource.
  1093.  
  1094.        TitleBackground string [{ win-list }]
  1095.                This variable specifies the background color  used
  1096.                in  titlebars, and may only be specified inside of
  1097.                a Color or Monochrome list.  The optional win-list
  1098.                is  a list of window names and colors so that per-
  1099.                window colors may be specified.   The  default  is
  1100.                "white".
  1101.  
  1102.        TitleButtonBorderWidth pixels
  1103.                This variable specifies the width in pixels of the
  1104.                border surrounding titlebuttons.   This  is  typi-
  1105.                cally set to 0 to allow titlebuttons to take up as
  1106.                much space as possible and to not have  a  border.
  1107.                The default is 1.
  1108.  
  1109.        TitleFont string
  1110.                This  variable specifies the font to used for dis-
  1111.                playing window names in titlebars.  The default is
  1112.                "variable".
  1113.  
  1114.        TitleForeground string [{ win-list }]
  1115.                This  variable specifies the foreground color used
  1116.                in titlebars, and may only be specified inside  of
  1117.  
  1118.  
  1119.  
  1120. X Version 11                Release 5                          17
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. TWM(1)                                                     TWM(1)
  1127.  
  1128.  
  1129.                a Color or Monochrome list.  The optional win-list
  1130.                is a list of window names and colors so that  per-
  1131.                window  colors  may  be specified.  The default is
  1132.                "black".
  1133.  
  1134.        TitlePadding pixels
  1135.                This variable specifies the distance  between  the
  1136.                various  buttons, text, and highlight areas in the
  1137.                titlebar.  The default is 8 pixels.
  1138.  
  1139.        UnknownIcon string
  1140.                This variable specifies the filename of  a  bitmap
  1141.                file  to be used as the default icon.  This bitmap
  1142.                will be used as the icon of all clients  which  do
  1143.                not  provide  an icon bitmap and are not listed in
  1144.                the Icons list.
  1145.  
  1146.        UsePPosition string
  1147.                This variable specifies whether or not twm  should
  1148.                honor  program-requested  locations  (given by the
  1149.                PPosition flag in the WM_NORMAL_HINTS property) in
  1150.                the  absence  of  a  user-specified position.  The
  1151.                argument string may  have  one  of  three  values:
  1152.                "off"  (the  default)  indicating  that twm should
  1153.                ignore the program-supplied position,  "on"  indi-
  1154.                cating that the position should be used, and "non-
  1155.                zero" indicating that the position should used  if
  1156.                it  is other than (0,0).  The latter option is for
  1157.                working around a bug in older toolkits.
  1158.  
  1159.        WarpCursor [{ win-list }]
  1160.                This variable indicates that the pointer should be
  1161.                warped into windows when they are deiconified.  If
  1162.                the optional win-list is given, the  pointer  will
  1163.                only be warped when those windows are deiconified.
  1164.  
  1165.        WindowRing { win-list }
  1166.                This variable specifies a list  of  windows  along
  1167.                which the f.warpring function cycles.
  1168.  
  1169.        WarpUnmapped
  1170.                This  variable  indicates  that  that the f.warpto
  1171.                function should deiconify any iconified windows it
  1172.                encounters.   This is typically used to make a key
  1173.                binding that will pop a particular window (such as
  1174.                xmh),  no  matter where it is.  The default is for
  1175.                f.warpto to ignore iconified windows.
  1176.  
  1177.        XorValue number
  1178.                This variable specifies  the  value  to  use  when
  1179.                drawing  window  outlines for moving and resizing.
  1180.                This should be set to a value that will result  in
  1181.                a variety of of distinguishable colors when exclu-
  1182.                sive-or'ed with the contents of the user's typical
  1183.  
  1184.  
  1185.  
  1186. X Version 11                Release 5                          18
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. TWM(1)                                                     TWM(1)
  1193.  
  1194.  
  1195.                screen.   Setting  this  variable to 1 often gives
  1196.                nice results if adjacent  colors  in  the  default
  1197.                colormap  are  distinct.   By  default,  twm  will
  1198.                attempt to cause temporary lines to appear at  the
  1199.                opposite end of the colormap from the graphics.
  1200.  
  1201.        Zoom [ count ]
  1202.                This  variable  indicates that outlines suggesting
  1203.                movement of a window to  and  from  its  iconified
  1204.                state  should  be  displayed  whenever a window is
  1205.                iconified  or  deiconified.   The  optional  count
  1206.                argument  specifies  the  number of outlines to be
  1207.                drawn.  The default count is 8.
  1208.  
  1209.        The following variables must be set after the  fonts  have
  1210.        been  assigned,  so  it is usually best to put them at the
  1211.        end of the variables or beginning  of  the  bindings  sec-
  1212.        tions:
  1213.  
  1214.        DefaultFunction function
  1215.                This  variable  specifies  the function to be exe-
  1216.                cuted when a key or button event is  received  for
  1217.                which  no  binding is provided.  This is typically
  1218.                bound to f.nop, f.beep, or a menu containing  win-
  1219.                dow operations.
  1220.  
  1221.        WindowFunction function
  1222.                This  variable  specifies  the function to execute
  1223.                when a window  is  selected  from  the  TwmWindows
  1224.                menu.   If  this  variable  is not set, the window
  1225.                will be deiconified and raised.
  1226.  
  1227. BINDINGS
  1228.        After the desired variables have been set,  functions  may
  1229.        be  attached  titlebuttons  and  key  and pointer buttons.
  1230.        Titlebuttons may be added from the left or right side  and
  1231.        appear in the titlebar from left-to-right according to the
  1232.        order in which they are specified.  Key and pointer button
  1233.        bindings may be given in any order.
  1234.  
  1235.        Titlebuttons  specifications  must include the name of the
  1236.        pixmap to use in the button box and  the  function  to  be
  1237.        invoked when a pointer button is pressed within them:
  1238.  
  1239.             LeftTitleButton "bitmapname"  = function
  1240.  
  1241.        or
  1242.  
  1243.             RightTitleButton "bitmapname" = function
  1244.  
  1245.        The  bitmapname  may refer to one of the  built-in bitmaps
  1246.        (which are scaled to match TitleFont) by using the  appro-
  1247.        priate colon-prefixed name described above.
  1248.  
  1249.  
  1250.  
  1251.  
  1252. X Version 11                Release 5                          19
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. TWM(1)                                                     TWM(1)
  1259.  
  1260.  
  1261.        Key  and pointer button specifications must give the modi-
  1262.        fiers that must be pressed, over which parts of the screen
  1263.        the  pointer  must be, and what function is to be invoked.
  1264.        Keys are  given  as  strings  containing  the  appropriate
  1265.        keysym  name;  buttons  are  given  as  the  keywords But-
  1266.        ton1-Button5:
  1267.  
  1268.             "FP1"          = modlist : context : function
  1269.             Button1   = modlist : context : function
  1270.  
  1271.        The modlist is  any  combination  of  the  modifier  names
  1272.        shift,  control,  lock,  meta,  mod1, mod2, mod3, mod4, or
  1273.        mod5 (which may be abbreviated as s, c, l, m, m1, m2,  m3,
  1274.        m4,  m5,  respectively)  separated  by a vertical bar (|).
  1275.        Similarly, the  context  is  any  combination  of  window,
  1276.        title,  icon,  root,  frame,  iconmgr, their first letters
  1277.        (iconmgr abbreviation is m), or all, separated by a verti-
  1278.        cal  bar.   The  function  is  any  of  the  f.   keywords
  1279.        described below.  For example, the  default  startup  file
  1280.        contains the following bindings:
  1281.  
  1282.             Button1   =    : root         : f.menu "TwmWindows"
  1283.             Button1   = m  : window | icon     : f.function "move-or-lower"
  1284.             Button2   = m  : window | icon     : f.iconify
  1285.             Button3   = m  : window | icon     : f.function "move-or-raise"
  1286.             Button1   =    : title        : f.function "move-or-raise"
  1287.             Button2   =    : title        : f.raiselower
  1288.             Button1   =    : icon         : f.function "move-or-iconify"
  1289.             Button2   =    : icon         : f.iconify
  1290.             Button1   =    : iconmgr : f.iconify
  1291.             Button2   =    : iconmgr : f.iconify
  1292.  
  1293.        A  user  who  wanted to be able to manipulate windows from
  1294.        the keyboard could use the following bindings:
  1295.  
  1296.             "F1"      =    : all          : f.iconify
  1297.             "F2"      =    : all          : f.raiselower
  1298.             "F3"      =    : all          : f.warpring "next"
  1299.             "F4"      =    : all          : f.warpto "xmh"
  1300.             "F5"      =    : all          : f.warpto "emacs"
  1301.             "F6"      =    : all          : f.colormap "next"
  1302.             "F7"      =    : all          : f.colormap "default"
  1303.             "F20"          =    : all          : f.warptoscreen "next"
  1304.             "Left"         = m  : all          : f.backiconmgr
  1305.             "Right"   = m | s   : all          : f.forwiconmgr
  1306.             "Up"      = m  : all          : f.upiconmgr
  1307.             "Down"    = m | s   : all          : f.downiconmgr
  1308.  
  1309.        Twm provides many more window manipulation primitives than
  1310.        can  be conveniently stored in a titlebar, menu, or set of
  1311.        key bindings.  Although a small set of defaults  are  sup-
  1312.        plied  (unless  the  NoDefaults  is specified), most users
  1313.        will want to have their most common  operations  bound  to
  1314.        key  and button strokes.  To do this, twm associates names
  1315.  
  1316.  
  1317.  
  1318. X Version 11                Release 5                          20
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. TWM(1)                                                     TWM(1)
  1325.  
  1326.  
  1327.        with each of  the  primitives  and  provides  user-defined
  1328.        functions  for  building higher level primitives and menus
  1329.        for interactively selecting among groups of functions.
  1330.  
  1331.        User-defined functions contain the name by which they  are
  1332.        referenced  in  calls  to  f.function  and a list of other
  1333.        functions to execute.  For example:
  1334.  
  1335.             Function "move-or-lower" { f.move f.deltastop f.lower }
  1336.             Function "move-or-raise" { f.move f.deltastop f.raise }
  1337.             Function "move-or-iconify"    { f.move f.deltastop f.iconify }
  1338.             Function "restore-colormap"   { f.colormap "default" f.lower }
  1339.  
  1340.        The function name must be used in f.function exactly as it
  1341.        appears in the function specification.
  1342.  
  1343.        In  the  descriptions  below,  if  the function is said to
  1344.        operate on the selected window, but is invoked from a root
  1345.        menu,  the cursor will be changed to the Select cursor and
  1346.        the next window to receive a button press will be chosen:
  1347.  
  1348.        ! string
  1349.                This is an abbreviation for f.exec string.
  1350.  
  1351.        f.autoraise
  1352.                This function toggles whether or not the  selected
  1353.                window  is raised whenever entered by the pointer.
  1354.                See the description of the variable AutoRaise.
  1355.  
  1356.        f.backiconmgr
  1357.                This function warps the pointer  to  the  previous
  1358.                column  in the current icon manager, wrapping back
  1359.                to the previous row if necessary.
  1360.  
  1361.        f.beep  This function sounds the keyboard bell.
  1362.  
  1363.        f.bottomzoom
  1364.                This function is similar to the  f.fullzoom  func-
  1365.                tion, but resizes the window to fill only the bot-
  1366.                tom half of the screen.
  1367.  
  1368.        f.circledown
  1369.                This function  lowers  the  top-most  window  that
  1370.                occludes another window.
  1371.  
  1372.        f.circleup
  1373.                This  function  raises the bottom-most window that
  1374.                is occluded by another window.
  1375.  
  1376.        f.colormap string
  1377.                This function rotates the colormaps (obtained from
  1378.                the  WM_COLORMAP_WINDOWS  property  on the window)
  1379.                that twm will display when the pointer is in  this
  1380.                window.   The  argument string may have one of the
  1381.  
  1382.  
  1383.  
  1384. X Version 11                Release 5                          21
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. TWM(1)                                                     TWM(1)
  1391.  
  1392.  
  1393.                following values: "next", "prev",  and  "default".
  1394.                It  should  be  noted  here  that  in general, the
  1395.                installed  colormap  is  determined  by   keyboard
  1396.                focus.   A  pointer  driven  keyboard  focus  will
  1397.                install a private colormap upon entry of the  win-
  1398.                dow  owning the colormap.  Using the click to type
  1399.                model, private colormaps  will  not  be  installed
  1400.                until  the user presses a mouse button on the tar-
  1401.                get window.
  1402.  
  1403.        f.deiconify
  1404.                This function deiconifies the selected window.  If
  1405.                the  window  is  not  an  icon, this function does
  1406.                nothing.
  1407.  
  1408.        f.delete
  1409.                This function sends the  WM_DELETE_WINDOW  message
  1410.                to  the  selected window if the client application
  1411.                has requested it through the  WM_PROTOCOLS  window
  1412.                property.   The application is supposed to respond
  1413.                to the message by removing the  indicated  window.
  1414.                If  the  window has not requested WM_DELETE_WINDOW
  1415.                messages, the keyboard bell will be rung  indicat-
  1416.                ing  that  the  user  should choose an alternative
  1417.                method.   Note  this  is   very   different   from
  1418.                f.destroy.   The intent here is to delete a single
  1419.                window,  not necessarily the entire application.
  1420.  
  1421.        f.deltastop
  1422.                This function allows a user-defined function to be
  1423.                aborted  if  the  pointer has been moved more than
  1424.                MoveDelta  pixels.   See  the  example  definition
  1425.                given  for  Function "move-or-raise" at the begin-
  1426.                ning of the section.
  1427.  
  1428.        f.destroy
  1429.                This function instructs the X server to close  the
  1430.                display  connection of the client that created the
  1431.                selected window.  This should only be  used  as  a
  1432.                last  resort  for  shutting  down runaway clients.
  1433.                See also f.delete.
  1434.  
  1435.        f.downiconmgr
  1436.                This function warps the pointer to the next row in
  1437.                the current icon manger, wrapping to the beginning
  1438.                of the next column if necessary.
  1439.  
  1440.        f.exec string
  1441.                This  function  passes  the  argument  string   to
  1442.                /bin/sh  for  execution.   In multiscreen mode, if
  1443.                string starts a new X client without giving a dis-
  1444.                play  argument,  the  client  will  appear  on the
  1445.                screen from which this function was invoked.
  1446.  
  1447.  
  1448.  
  1449.  
  1450. X Version 11                Release 5                          22
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. TWM(1)                                                     TWM(1)
  1457.  
  1458.  
  1459.        f.focus This function toggles the keyboard  focus  of  the
  1460.                server  to the selected window, changing the focus
  1461.                rule from pointer-driven  if  necessary.   If  the
  1462.                selected window already was focused, this function
  1463.                executes an f.unfocus.
  1464.  
  1465.        f.forcemove
  1466.                This  function  is  like  f.move  except  that  it
  1467.                ignores the DontMoveOff variable.
  1468.  
  1469.        f.forwiconmgr
  1470.                This function warps the pointer to the next column
  1471.                in the  current  icon  manager,  wrapping  to  the
  1472.                beginning of the next row if necessary.
  1473.  
  1474.        f.fullzoom
  1475.                This  function  resizes the selected window to the
  1476.                full size of the  display  or  else  restores  the
  1477.                original size if the window was already zoomed.
  1478.  
  1479.        f.function string
  1480.                This  function  executes the user-defined function
  1481.                whose name is specified by the argument string.
  1482.  
  1483.        f.hbzoom
  1484.                This function is a synonym for f.bottomzoom.
  1485.  
  1486.        f.hideiconmgr
  1487.                This function unmaps the current icon manager.
  1488.  
  1489.        f.horizoom
  1490.                This variable is similar to  the  f.zoom  function
  1491.                except  that the selected window is resized to the
  1492.                full width of the display.
  1493.  
  1494.        f.htzoom
  1495.                This function is a synonym for f.topzoom.
  1496.  
  1497.        f.hzoom This function is a synonym for f.horizoom.
  1498.  
  1499.        f.iconify
  1500.                This  function  iconifies   or   deiconifies   the
  1501.                selected window or icon, respectively.
  1502.  
  1503.        f.identify
  1504.                This  function  displays a summary of the name and
  1505.                geometry of the  selected  window.   Clicking  the
  1506.                pointer  or pressing a key in the window will dis-
  1507.                miss it.
  1508.  
  1509.        f.lefticonmgr
  1510.                This function similar to f.backiconmgr except that
  1511.                wrapping does not change rows.
  1512.  
  1513.  
  1514.  
  1515.  
  1516. X Version 11                Release 5                          23
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. TWM(1)                                                     TWM(1)
  1523.  
  1524.  
  1525.        f.leftzoom
  1526.                This variable is similar to the f.bottomzoom func-
  1527.                tion  but  causes  the  selected  window  is  only
  1528.                resized to the left half of the display.
  1529.  
  1530.        f.lower This function lowers the selected window.
  1531.  
  1532.        f.menu string
  1533.                This  function  invokes  the menu specified by the
  1534.                argument string.  Cascaded menus may be  built  by
  1535.                nesting calls to f.menu.
  1536.  
  1537.        f.move  This  function  drags  an  outline of the selected
  1538.                window (or the window  itself  if  the  OpaqueMove
  1539.                variable is set) until the invoking pointer button
  1540.                is released.  Double clicking within the number of
  1541.                milliseconds  given  by  ConstrainedMoveTime warps
  1542.                the pointer to the center of the window  and  con-
  1543.                strains the move to be either horizontal or verti-
  1544.                cal depending on which grid line is  crossed.   To
  1545.                abort  a move, press another button before releas-
  1546.                ing the first button.
  1547.  
  1548.        f.nexticonmgr
  1549.                This function warps the pointer to the  next  icon
  1550.                manager  containing  any windows on the current or
  1551.                any succeeding screen.
  1552.  
  1553.        f.nop   This function does nothing and is  typically  used
  1554.                with  the  DefaultFunction or WindowFunction vari-
  1555.                ables or to introduce blank lines in menus.
  1556.  
  1557.        f.previconmgr
  1558.                This function warps the pointer  to  the  previous
  1559.                icon manager containing any windows on the current
  1560.                or preceding screens.
  1561.  
  1562.        f.quit  This function causes twm to restore  the  window's
  1563.                borders  and  exit.   If  twm  is the first client
  1564.                invoked from xdm, this will  result  in  a  server
  1565.                reset.
  1566.  
  1567.        f.raise This function raises the selected window.
  1568.  
  1569.        f.raiselower
  1570.                This  function  raises  the selected window to the
  1571.                top of the stacking order if it is occluded by any
  1572.                windows, otherwise the window will be lowered.
  1573.  
  1574.        f.refresh
  1575.                This  function causes all windows to be refreshed.
  1576.  
  1577.        f.resize
  1578.                This function displays an outline of the  selected
  1579.  
  1580.  
  1581.  
  1582. X Version 11                Release 5                          24
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588. TWM(1)                                                     TWM(1)
  1589.  
  1590.  
  1591.                window.   Crossing  a border (or setting AutoRela-
  1592.                tiveResize) will cause the  outline  to  begin  to
  1593.                rubber band until the invoking button is released.
  1594.                To abort a resize,  press  another  button  before
  1595.                releasing the first button.
  1596.  
  1597.        f.restart
  1598.  
  1599.                This function kills and restarts twm.
  1600.  
  1601.        f.righticonmgr
  1602.                This  function  is similar to f.nexticonmgr except
  1603.                that wrapping does not change rows.
  1604.  
  1605.        f.rightzoom
  1606.                This variable is similar to the f.bottomzoom func-
  1607.                tion  except  that  the  selected  window  is only
  1608.                resized to the right half of the display.
  1609.  
  1610.        f.saveyourself
  1611.                This function sends a WM_SAVEYOURSELF  message  to
  1612.                the  selected  window if it has requested the mes-
  1613.                sage in its WM_PROTOCOLS window property.  Clients
  1614.                that  accept  this  message are supposed to check-
  1615.                point all state associated  with  the  window  and
  1616.                update the WM_COMMAND property as specified in the
  1617.                ICCCM.  If the selected window  has  not  selected
  1618.                for  this message, the keyboard bell will be rung.
  1619.  
  1620.        f.showiconmgr
  1621.                This function maps the current icon manager.
  1622.  
  1623.        f.sorticonmgr
  1624.                This function sorts the  entries  in  the  current
  1625.                icon  manager  alphabetically.   See  the variable
  1626.                SortIconManager.
  1627.  
  1628.        f.title This function provides  a  centered,  unselectable
  1629.                item  in a menu definition.  It should not be used
  1630.                in any other context.
  1631.  
  1632.        f.topzoom
  1633.                This variable is similar to the f.bottomzoom func-
  1634.                tion  except  that  the  selected  window  is only
  1635.                resized to the top half of the display.
  1636.  
  1637.        f.unfocus
  1638.                This function resets the focus  back  to  pointer-
  1639.                driven.  This should be used when a focused window
  1640.                is no longer desired.
  1641.  
  1642.        f.upiconmgr
  1643.                This function warps the pointer  to  the  previous
  1644.                row  in  the current icon manager, wrapping to the
  1645.  
  1646.  
  1647.  
  1648. X Version 11                Release 5                          25
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. TWM(1)                                                     TWM(1)
  1655.  
  1656.  
  1657.                last row in the same column if necessary.
  1658.  
  1659.        f.vlzoom
  1660.                This function is a synonym for f.leftzoom.
  1661.  
  1662.        f.vrzoom
  1663.                This function is a synonym for f.rightzoom.
  1664.  
  1665.        f.warpring string
  1666.                This function warps the pointer  to  the  next  or
  1667.                previous  window  (as  indicated  by  the argument
  1668.                string, which may be "next" or  "prev")  specified
  1669.                in the WindowRing variable.
  1670.  
  1671.        f.warpto string
  1672.                This  function  warps  the  pointer  to the window
  1673.                which has a name or class that matches string.  If
  1674.                the window is iconified, it will be deiconified if
  1675.                the variable WarpUnmapped is set or else  ignored.
  1676.  
  1677.        f.warptoiconmgr string
  1678.                This  function  warps the pointer to the icon man-
  1679.                ager entry associated with the  window  containing
  1680.                the  pointer  in the icon manager specified by the
  1681.                argument string.  If string is  empty  (i.e.  ""),
  1682.                the current icon manager is chosen.
  1683.  
  1684.        f.warptoscreen string
  1685.                This  function  warps  the  pointer  to the screen
  1686.                specified by the argument string.  String may be a
  1687.                number  (e.g.  "0" or "1"), the word "next" (indi-
  1688.                cating the current screen plus  1,  skipping  over
  1689.                any  unmanaged screens), the word "back" (indicat-
  1690.                ing the current screen minus 1, skipping over  any
  1691.                unmanaged screens), or the word "prev" (indicating
  1692.                the last screen visited.
  1693.  
  1694.        f.winrefresh
  1695.                This function is similar to the f.refresh function
  1696.                except that only the selected window is refreshed.
  1697.  
  1698.        f.zoom  This function is similar to the  f.fullzoom  func-
  1699.                tion,  except  that  the  only  the  height of the
  1700.                selected window is changed.
  1701.  
  1702. MENUS
  1703.        Functions may be grouped and interactively selected  using
  1704.        pop-up (when bound to a pointer button) or pull-down (when
  1705.        associated with a titlebutton) menus.  Each menu  specifi-
  1706.        cation  contains  the  name  of  the  menu  as  it will be
  1707.        referred to by f.menu,  optional  default  foreground  and
  1708.        background  colors,  the  list of item names and the func-
  1709.        tions they should  invoke,  and  optional  foreground  and
  1710.  
  1711.  
  1712.  
  1713.  
  1714. X Version 11                Release 5                          26
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720. TWM(1)                                                     TWM(1)
  1721.  
  1722.  
  1723.        background colors for individual items:
  1724.  
  1725.             Menu "menuname" [ ("deffore":"defback") ]
  1726.             {
  1727.                  string1   [ ("fore1":"backn")]     function1
  1728.                  string2   [ ("fore2":"backn")]     function2
  1729.                       .
  1730.                       .
  1731.                       .
  1732.                  stringN   [ ("foreN":"backN")]     functionN
  1733.             }
  1734.  
  1735.  
  1736.        The  menuname is case-sensitive.  The optional deffore and
  1737.        defback arguments specify the  foreground  and  background
  1738.        colors  used on a color display to highlight menu entries.
  1739.        The string portion of each menu entry  will  be  the  text
  1740.        which will appear in the menu.  The optional fore and back
  1741.        arguments specify the foreground and background colors  of
  1742.        the  menu  entry  when  the  pointer  is not in the entry.
  1743.        These colors will only be used on a  color  display.   The
  1744.        default  is  to  use the colors specified by the MenuFore-
  1745.        ground and MenuBackground variables.  The function portion
  1746.        of  the  menu entry is one of the functions, including any
  1747.        user-defined functions, or additional menus.
  1748.  
  1749.        There is a special menu named  TwmWindows  which  contains
  1750.        the  names  of all of the client and twm-supplied windows.
  1751.        Selecting an entry will cause  the  WindowFunction  to  be
  1752.        executed  on  that  window.  If WindowFunction hasn't been
  1753.        set, the window will be deiconified and raised.
  1754.  
  1755. ICONS
  1756.        Twm supports several different ways of manipulating iconi-
  1757.        fied  windows.   The  common  pixmap-and-text style may be
  1758.        laid out by hand or automatically arranged as described by
  1759.        the  IconRegion  variable.   In  addition, a terse grid of
  1760.        icon names, called an icon manager, provides a more  effi-
  1761.        cient  use of screen space as well as the ability to navi-
  1762.        gate among windows from the keyboard.
  1763.  
  1764.        An icon  manager  is  a  window  that  contains  names  of
  1765.        selected  or  all  windows  currently  on the display.  In
  1766.        addition to the window name,  a  small  button  using  the
  1767.        default  iconify  symbol  will be displayed to the left of
  1768.        the name when the window is iconified.  By default, click-
  1769.        ing  on  an  entry in the icon manager performs f.iconify.
  1770.        To change the actions taken in the icon manager,  use  the
  1771.        the  iconmgr  context  when specifying button and keyboard
  1772.        bindings.
  1773.  
  1774.        Moving the pointer into the icon manager also directs key-
  1775.        board  focus  to  the  indicated window (setting the focus
  1776.        explicitly or else sending synthetic  events  NoTitleFocus
  1777.  
  1778.  
  1779.  
  1780. X Version 11                Release 5                          27
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786. TWM(1)                                                     TWM(1)
  1787.  
  1788.  
  1789.        is    set).     Using   the   f.upiconmgr,   f.downiconmgr
  1790.        f.lefticonmgr, and  f.righticonmgr  functions,  the  input
  1791.        focus  can  be  changed  between windows directly from the
  1792.        keyboard.
  1793.  
  1794. BUGS
  1795.        The resource manager should have been used instead of  all
  1796.        of the window lists.
  1797.  
  1798.        The IconRegion variable should take a list.
  1799.  
  1800.        Double  clicking  very  fast  to  get the constrained move
  1801.        function will sometimes cause the  window  to  move,  even
  1802.        though the pointer is not moved.
  1803.  
  1804.        If  IconifyByUnmapping  is  on  and  windows are listed in
  1805.        IconManagerDontShow  but  not  in  DontIconifyByUnmapping,
  1806.        they  may be lost if they are iconified and no bindings to
  1807.        f.menu "TwmWindows" or f.warpto are setup.
  1808.  
  1809. FILES
  1810.         $HOME/.twmrc.<screen number>
  1811.         $HOME/.twmrc
  1812.         /usr/lib/X11/twm/system.twmrc
  1813.  
  1814. ENVIRONMENT VARIABLES
  1815.        DISPLAY This variable is used to determine which X  server
  1816.                to use.  It is also set during f.exec so that pro-
  1817.                grams come up on the proper screen.
  1818.  
  1819.        HOME    This variable is used as the prefix for files that
  1820.                begin  with  a  tilde  and  for  locating  the twm
  1821.                startup file.
  1822.  
  1823. SEE ALSO
  1824.        X(1), Xserver(1), xdm(1), xrdb(1)
  1825.  
  1826. COPYRIGHT
  1827.        Portions copyright 1988 Evans & Sutherland Computer Corpo-
  1828.        ration;  portions  copyright  1989 Hewlett-Packard Company
  1829.        and the Massachusetts Institute of Technology,   See  X(1)
  1830.        for a full statement of rights and permissions.
  1831.  
  1832. AUTHORS
  1833.        Tom  LaStrange, Solbourne Computer; Jim Fulton, MIT X Con-
  1834.        sortium; Steve Pitschke, Stardent Computer; Keith Packard,
  1835.        MIT  X Consortium; Dave Sternlicht, MIT X Consortium; Dave
  1836.        Payne, Apple Computer.
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846. X Version 11                Release 5                          28
  1847.  
  1848.  
  1849.